/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package mif18.orm;

import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.OneToOne;

/**
 *
 * @author Quentin
 * @Entity nous indique que cette classe est une classe persistante.
 */
@Entity
public class Appellation implements Serializable {

    /**
     * Identifiant. On utilise
     * @Id afin de definir le champ id comme clé primaire On utilise
     * @GeneratedValue pour générer une valeur automatique pour la clé primaire
     */
    @Id
    @GeneratedValue
    private int id;
    private String nom;
    /**
     * Relation unique d'une appelation et d'une region. 1 vers 1 donc relation
     * OneToOne On join avec la colonne id de la table Region. nullable pour
     * eviter une relation vers une entité null
     */
    @OneToOne
    @JoinColumn(name = "id", unique = true, nullable = false)
    private Region mRegion;

    public int getid() {
        return id;
    }

    public String getNom() {
        return nom;
    }

    public void setNom(String nomAppellation) {
        this.nom = nomAppellation;
    }

    public void setRegion(Region mRegion) {
        this.mRegion = mRegion;
    }

    public void setId(int id) {
        this.id = id;
    }

    public Region getRegion() {
        return mRegion;
    }

    @Override
    public int hashCode() {
        return super.hashCode(); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public boolean equals(Object obj) {
        return super.equals(obj); //To change body of generated methods, choose Tools | Templates.
    }
}
